<template>
    <view class="d-kuan d-juzhong">
        <uv-overlay :show="huodong_data_show" @tap="huodong_close_get" zIndex="998" opacity="0.5">
            <view class="warp_huodong">
                <view class="rect_huodong" @tap.stop.prevent>
                    <view class="d-kuan ">
                        <view class="d-kuan d-zhuangtai d-huodong-gao">
                            <view class="d-kuan d-zhuangtai-left">
                                <uv-cell icon="gift" title="活动详情"></uv-cell>
                            </view>
                            <uv-form :model="huodong_data_add" :rules="rules" ref="form">
                                <uv-input placeholder="标题" border="surround" v-model="huodong_data_add.title" :value="huodong_data_add.title">
                                    <template v-slot:prefix>
                                        <uv-text
                                            text="标题"
                                            margin="0 10px 0 0"
                                            type="tips"
                                        ></uv-text>
                                    </template>
                                </uv-input>
                                <uv-form-item label="活动范围" labelWidth="150rpx" prop="hdfw">
                                    <uv-radio-group v-model="huodong_data_add.hdfw">
	                                	<uv-radio name="0" label="所有人"></uv-radio>
	                                	<uv-radio name="1" activeColor="red" label="本圈" class="d-zuo-10"></uv-radio>
	                                </uv-radio-group>
                                </uv-form-item>
                                <uv-form-item label="活动方式" labelWidth="150rpx" prop="hdfs">
                                    <uv-radio-group v-model="huodong_data_add.hdfs" @change="fs_show">
                                     	<uv-radio name="1" @tap="fs_show(1)" label="线下免费" :value="1" class=""></uv-radio>
                                     	<uv-radio name="2" @tap="fs_show(2)" activeColor="red" label="线下付费" :value="2" class="d-zuo-10"></uv-radio>
                                        <uv-radio name="3" @tap="fs_show(3)" activeColor="red" label="线上免费" :value="3" class="d-shang-10"></uv-radio>
                                        <uv-radio name="4" @tap="fs_show(4)" activeColor="red" label="线上付费" :value="4" class="d-shang-10 d-zuo-10"></uv-radio>
                                        <uv-radio name="5" @tap="fs_show(5)" activeColor="red" label="线上积分" :value="5" class="d-shang-10"></uv-radio>
                                    </uv-radio-group>
                                </uv-form-item>
                                <uv-input v-if="fs_show_data == '4' || fs_show_data == '2'" class="d-xia-10" placeholder="付费金额" border="surround" v-model="huodong_data_add.hdfy" :value="huodong_data_add.hdfy">
                                    <template v-slot:prefix>
                                        <uv-text
                                            text="付费金额"
                                            margin="0 10px 0 0"
                                            type="tips"
                                        ></uv-text>
                                    </template>
                                </uv-input>
                                <uv-input v-if="fs_show_data == 5"  class="d-xia-10" placeholder="消费积分" border="surround" v-model="huodong_data_add.huodongjifen" :value="huodong_data_add.huodongjifen">
                                    <template v-slot:prefix>
                                        <uv-text
                                            text="消费积分"
                                            margin="0 10px 0 0"
                                            type="tips"
                                        ></uv-text>
                                    </template>
                                </uv-input>
                                <!-- 活动人数 / hdrs -->
                                <uv-input  placeholder="活动人数" border="surround" v-model="huodong_data_add.hdrs" :value="huodong_data_add.hdrs">
                                    <template v-slot:prefix>
                                        <uv-text
                                            text="活动人数"
                                            margin="0 10px 0 0"
                                            type="tips"
                                        ></uv-text>
                                    </template>
                                </uv-input>
                                <uv-form-item :label="renshu_shuoming" labelWidth="300rpx" prop="ke">
                                    <uv-number-box v-model="huodong_data_add.xzrs" :min="0" :max="100" @change="renshu_panduan"></uv-number-box>
                                    
                                </uv-form-item>
                                <text style="color: brown;">0表示不限制</text>


                                
                                <uv-form-item label="报名核对" labelWidth="150rpx" prop="baominghedui">
                                    <uv-radio-group v-model="huodong_data_add.baominghedui" >
                                     	<uv-radio name="1" label="需要审核" :value="1" class=""></uv-radio>
                                     	<uv-radio name="0" activeColor="red" label="不需要审核" :value="0" class="d-zuo-10"></uv-radio>
                                    </uv-radio-group>
                                </uv-form-item>
                                <!--活动开始时间 / hdks-->
                                <uv-input placeholder="活动开始时间" @click="kaishi_shijian" border="surround" v-model="huodong_data_add.hdks" :value="huodong_data_add.hdks">
                                    <template v-slot:prefix>
                                        <uv-text
                                            text="活动开始时间"
                                            margin="0 10px 0 0"
                                            type="tips"
                                        ></uv-text>
                                    </template>
                                </uv-input>
                                <!--活动结束 / hdjs-->
                                <uv-input class="d-shang-10" placeholder="活动结束时间" @click="jieshu_shijian" border="surround" v-model="huodong_data_add.hdjs" :value="huodong_data_add.hdjs">
                                    <template v-slot:prefix>
                                        <uv-text
                                            text="活动结束时间"
                                            margin="0 10px 0 0"
                                            type="tips"
                                        ></uv-text>
                                    </template>
                                </uv-input>
                                <!-- 选选项 活动微信号 / hdwxh-->
                                 <uv-form-item label="是否需要微信号" labelWidth="300rpx" prop="hdwxh">
                                        <uv-radio-group v-model="huodong_data_add.hdwxh" >
                                         	<uv-radio name="1" label="需要" :value="1" class=""></uv-radio>
                                         	<uv-radio name="0" activeColor="red" label="不需要" :value="0" class="d-zuo-10"></uv-radio>
                                        </uv-radio-group>
                                 </uv-form-item>
                                 <!-- 选选项 活动手机号 / hdsjh-->
                                 <uv-form-item label="是否需要手机号" labelWidth="300rpx" prop="hdsjh"> 
                                        <uv-radio-group v-model="huodong_data_add.hdsjh" >
                                         	<uv-radio name="1" label="需要" :value="1" class=""></uv-radio>
                                         	<uv-radio name="0" activeColor="red" label="不需要" :value="0" class="d-zuo-10"></uv-radio>
                                        </uv-radio-group>
                                 </uv-form-item>
                                <!-- 选选项 身份证 / sfz-->
                                <uv-form-item label="是否需要身份证" labelWidth="300rpx" prop="sfz"> 
                                       <uv-radio-group v-model="huodong_data_add.sfz" >
                                        	<uv-radio name="1" label="需要" :value="1" class=""></uv-radio>
                                        	<uv-radio name="0" activeColor="red" label="不需要" :value="0" class="d-zuo-10"></uv-radio>
                                       </uv-radio-group>
                                </uv-form-item>
                                <!-- 选选项 车牌号 / cph-->
                                <uv-form-item label="是否需要车牌号" labelWidth="300rpx" prop="cph"> 
                                       <uv-radio-group v-model="huodong_data_add.cph" >
                                        	<uv-radio name="1" label="需要" :value="1" class=""></uv-radio>
                                        	<uv-radio name="0" activeColor="red" label="不需要" :value="0" class="d-zuo-10"></uv-radio>
                                       </uv-radio-group>
                                </uv-form-item>
                                 <!-- 选选项 活动退出 / hdtc-->
                                 <uv-form-item label="是否可以退出" labelWidth="300rpx" prop="hdtc">
                                        <uv-radio-group v-model="huodong_data_add.hdtc" >
                                         	<uv-radio name="1" label="可以" :value="1" class=""></uv-radio>
                                         	<uv-radio name="0" activeColor="red" label="不可以" :value="0" class="d-zuo-10"></uv-radio>
                                        </uv-radio-group>
                                 </uv-form-item>
                                 

                            </uv-form>
                        </view>
                        <view class="d-kuan d-clear"></view>
                        <uv-button v-if="huodong_data_list_cuozuo==0" class="d-shang-10 " type="primary" text="添加活动" @click="postHuodong_add_api" ></uv-button>
			    		<uv-button v-if="huodong_data_list_cuozuo==1" class="d-shang-10" type="primary" text="修改" @click="postHuodong_data_xiugai_api"></uv-button>

                    </view>
                </view>
            </view>
        </uv-overlay>
        <!-- 开始时间 -->
       <uv-calendars ref="kaishishijian" @confirm="kaishishijian_confirm" />
       <!-- 结束时间 -->
       <uv-calendars ref="jieshushijian" @confirm="jieshushijian_confirm" />
    </view>
</template>

<script>
import HuodongApi from '@/utils/huodong_api.js';
import { getRequest,postRequest } from '@/utils/wxRequest.js';
export default {
    props: {
        // 接收显示状态属性
        huodong_data_show: {
            type: Boolean,
            default: false
        },
        tieid: {
            type: String,
            default: ''
        },
        quanid: {
            type: String,
            default: ''
        },
        // 活动数据
        huodong_data_list: {
            type: Object,
            default: () => {}
        },
        // 活动操作  0是添加，1是修改
        huodong_data_list_cuozuo: {
            type: Number,
            default: 0
        },
    },
    data() {
            return {
                huodong_data: {},
                // 表单验证规则
                rules: {
                    hdfw: [
                        {
                            required: true,
                            message: '活动范围不能为空',
                            trigger: 'change'
                        }
                    ]
                },
            huodong_data_add: {
                title: '',
                hdfw: '0', // 默认选择"所有人"
                hdfs: '3', // 默认选择"线下免费"
                hdjs: '',
                hdwxh: '0', // 是否需要微信
                hdsjh: '0', // 是否需要手机号
                hdtc: '0', // 是否可以退出
                sfz: '0', // 是否需要身份证
                huodongwxh: '', // 活动微信号
                huodongsjh: '', // 活动手机号
                hdrs: '', // 活动人数
                baominghedui: '0', // 默认不需要审核
                hdks: '', // 活动开始时间
                huodongjifen: '', // 活动积分
                xzrs: '0', // 一人可购买几份
                cph: '0', // 是否需要车牌号
                

            },
            //huodong_data_list_cuozuo:0,
            fs_show_data:0,
            renshu_shuoming:'不限制报名份量',
        }
    },
    mounted() {
        //this.huodong_get();
        // 如果是修改模式，将huodong_data_list的数据赋值给huodong_data_add
        /*if(this.huodong_data_list_cuozuo == 1 && this.huodong_data_list && Object.keys(this.huodong_data_list).length > 0) {
            this.huodong_data_add = { ...this.huodong_data_list };
        }
        console.log('shuju',this.huodong_data_list_cuozuo);*/
    },
    watch: {
        huodong_data_list_cuozuo: {
            handler(newVal, oldVal) {
                //console.log('huodong_data_list_cuozuo变化:', oldVal, '->', newVal);
                // 当值变为1且有活动数据时，更新表单数据
                if(newVal == 1 && this.huodong_data_list && Object.keys(this.huodong_data_list).length > 0) {
                    this.huodong_data_add = { ...this.huodong_data_list };
                    this.fs_show_data = this.huodong_data_list.hdfs;
                }
            },
            immediate: true
        }
    },
    methods: {
        renshu_panduan(e){
            console.log('renshu_panduan',e.value);
            if(e.value == 0){
                this.renshu_shuoming = '不限制报名份量';
            }else{
                // 添加红色提示
                this.renshu_shuoming = '每人可报名 '+e.value+' 份';
            }

        },
        //开始时间
        kaishi_shijian() {
            this.$refs.kaishishijian.open();
        },
        //结束时间
        jieshu_shijian() {
            this.$refs.jieshushijian.open();
        },
        // 开始时间确认
        kaishishijian_confirm(date) {
            console.log('选择的日期:', date);
            // 检查返回数据格式并正确格式化日期
            this.huodong_data_add.hdks = date.year + '-' + date.month + '-' + date.date;
        },
        // 结束时间确认
        jieshushijian_confirm(date) {
            console.log('选择的日期:', date);
            // 检查返回数据格式并正确格式化日期
            this.huodong_data_add.hdjs = date.year + '-' + date.month + '-' + date.date;
        },
        // 关闭弹窗
        huodong_close_get() {
            this.$emit('huodong_close_get', false);
        },
        // 获取活动详情
        huodong_get() {
            getRequest(HuodongApi.getHuodong_detail(this.id)).then(res => {
                if(res.code == 200) {
                    this.huodong_data = res.data;
                }
            })
        },
        // 活动方式
        fs_show(val) {
            console.log('huoddong_fs',val);
            this.fs_show_data = val;
        },
        // 添加活动
        async postHuodong_add_api() {
            // 非空检测
            if(!this.huodong_data_add.title) {
                uni.showToast({
                  title: '标题不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //活动范围不能为空 (改进版：确保只在值为0或undefined或null时才判定为空)
            if(!this.huodong_data_add.hdfw) {
                uni.showToast({
                  title: '活动范围不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //活动方式不能为空
            if(!this.huodong_data_add.hdfs) {
                uni.showToast({
                  title: '活动方式不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //活动人数不能为空
            if(!this.huodong_data_add.hdrs) {
                uni.showToast({
                  title: '活动人数不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //核对报名审核
            if(!this.huodong_data_add.baominghedui) {   
                uni.showToast({
                  title: '报名审核不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //开始时间不能为空
            if(!this.huodong_data_add.hdks) {
                uni.showToast({
                  title: '开始时间不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }

            //活动时间不能为空
            if(!this.huodong_data_add.hdjs) {
                uni.showToast({
                  title: '活动时间不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            // 微信号hdwxh,不能为空
            if(!this.huodong_data_add.hdwxh) {
                uni.showToast({
                  title: '是否需要微信号不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //手机号hdsjh不能为空
            if(!this.huodong_data_add.hdsjh) {
                uni.showToast({
                  title: '是否需要手机号不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //判断活动退出hdtc不能为空
            if(!this.huodong_data_add.hdtc) {
                uni.showToast({
                  title: '是否可以退出不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }

            let uid = this.$store.state.memberuid;
            let code = this.$store.state.keycode;
            let url = HuodongApi.postHuodong_data_add_api(uid,code);
            // 构建参数字符串，包含所有需要的字段
            let datas = "is_ajax=1&catid=1" +
                        "&data[title]=" + encodeURIComponent(this.huodong_data_add.title) +
                        "&data[hdfw]=" + this.huodong_data_add.hdfw +
                        "&data[hdfs]=" + this.huodong_data_add.hdfs +
						"&data[hdfy]=" + this.huodong_data_add.hdfy +
                        "&data[hdrs]=" + this.huodong_data_add.hdrs +
                        "&data[baominghedui]=" + this.huodong_data_add.baominghedui +
                        "&data[hdks]=" + encodeURIComponent(this.huodong_data_add.hdks) +
                        "&data[hdjs]=" + encodeURIComponent(this.huodong_data_add.hdjs) +
                        "&data[hdwxh]=" + this.huodong_data_add.hdwxh +
                        "&data[hdsjh]=" + this.huodong_data_add.hdsjh +
                        "&data[hdtc]=" + this.huodong_data_add.hdtc +
                        "&data[quanid]=" + this.quanid +
                        "&data[tieid]=" + this.tieid;
                        // 是否需要身份证
                        "&data[sfz]=" + this.huodong_data_add.sfz;
                        // 限制人数
                        "&data[xzrs]=" + this.huodong_data_add.xzrs;
                        // 是否需要车牌号
                        "&data[cph]=" + this.huodong_data_add.cph;

            let res = await postRequest(url,datas);
            if(res.data.code==1){
                uni.showToast({
                  title: '添加成功',
                  icon: 'success',
                  duration: 2000
                });
                //清空数据
                this.huodong_data_add = {
                    title: '',
                    hdfw: '',
                    hdfs: '',
                    hdrs: '',
                    baominghedui: '',
                    hdks: '',
                    hdjs: '',
                    hdwxh: '',
                    hdsjh: '',
                    hdtc: '',
                    hdfy: '',
                    // 是否需要身份证
                    sfz: this.huodong_data_add.sfz,
                    // 限制人数
                    xzrs: this.huodong_data_add.xzrs,
                    // 是否需要车牌号
                    cph: this.huodong_data_add.cph,
                };
                this.huodong_close_get();
            } else {
                uni.showToast({
                  title: res.data.msg,
                  icon: 'none',
                  duration: 2000
                });
            }
  
        },
        // 修改活动
        async postHuodong_data_xiugai_api() {
            // 非空检测
            if(!this.huodong_data_add.title) {
                uni.showToast({
                  title: '标题不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //活动范围不能为空
            if(!this.huodong_data_add.hdfw) {
                uni.showToast({
                  title: '活动范围不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //活动方式不能为空
            if(!this.huodong_data_add.hdfs) {
                uni.showToast({
                  title: '活动方式不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //活动人数不能为空
            if(!this.huodong_data_add.hdrs) {
                uni.showToast({
                  title: '活动人数不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //核对报名审核
            if(!this.huodong_data_add.baominghedui) {   
                uni.showToast({
                  title: '报名审核不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //开始时间不能为空
            if(!this.huodong_data_add.hdks) {
                uni.showToast({
                  title: '开始时间不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }

            //活动时间不能为空
            if(!this.huodong_data_add.hdjs) {
                uni.showToast({
                  title: '活动时间不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            // 微信号hdwxh,不能为空
            if(!this.huodong_data_add.hdwxh) {
                uni.showToast({
                  title: '是否需要微信号不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //手机号hdsjh不能为空
            if(!this.huodong_data_add.hdsjh) {
                uni.showToast({
                  title: '是否需要手机号不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
            //判断活动退出hdtc不能为空
            if(!this.huodong_data_add.hdtc) {
                uni.showToast({
                  title: '是否可以退出不能为空',
                  icon: 'none',
                  duration: 2000
                });
                return;
            }
			

            let uid = this.$store.state.memberuid;
            let code = this.$store.state.keycode;
            let id = this.huodong_data_list.hd_id; // 获取活动ID
            let url = HuodongApi.postHuodong_xiugai_api(uid, code, id);
			
            // 构建参数字符串，包含所有需要的字段
            let datas = "is_ajax=1&catid=1" +
                        "&id=" + id +
                        "&data[title]=" + encodeURIComponent(this.huodong_data_add.title) +
                        "&data[hdfw]=" + this.huodong_data_add.hdfw +
                        "&data[hdfs]=" + this.huodong_data_add.hdfs +
                        "&data[hdrs]=" + this.huodong_data_add.hdrs +
						"&data[hdfy]=" + this.huodong_data_add.hdfy +
                        "&data[baominghedui]=" + this.huodong_data_add.baominghedui +
                        "&data[hdks]=" + encodeURIComponent(this.huodong_data_add.hdks) +
                        "&data[hdjs]=" + encodeURIComponent(this.huodong_data_add.hdjs) +
                        "&data[hdwxh]=" + this.huodong_data_add.hdwxh +
                        "&data[hdsjh]=" + this.huodong_data_add.hdsjh +
                        "&data[hdtc]=" + this.huodong_data_add.hdtc +
                        "&data[quanid]=" + this.quanid +
                        "&data[tieid]=" + this.tieid +
                        // 是否需要身份证
                        "&data[sfz]=" + this.huodong_data_add.sfz +
                        // 限制人数
                        "&data[xzrs]=" + this.huodong_data_add.xzrs +
                        // 是否需要车牌号
                        "&data[cph]=" + this.huodong_data_add.cph +
                        //活动积分
                        "&data[huodongjifen]=" + this.huodong_data_add.huodongjifen;

            let res = await postRequest(url, datas);
            if(res.data.code==1){
                uni.showToast({
                  title: '修改成功',
                  icon: 'success',
                  duration: 2000
                });
                // 刷新 父组件页面的 接口数据
                this.$emit('refreshData');
                this.huodong_close_get();
            } else {
                uni.showToast({
                  title: res.data.msg,
                  icon: 'none',
                  duration: 2000
                });
            }
        },
        //活动数据是否存在
        async huodong_data_cunzai_api() {
            let uid = this.$store.state.memberuid;
            let code = this.$store.state.keycode;
            let url = HuodongApi.getHuodong_data_list_api(uid,code);
            let res = await getRequest(url);
            if(res.data.code==1){
                this.huodong_data_list = res.data.data;
            } else {
                uni.showToast({
                  title: res.data.msg,
                  icon: 'none',
                  duration: 2000
                });
            }
        },
    },
}
</script>

<style>
.warp_huodong {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.rect_huodong {
	width: 300px;
	/*height: 300px;*/
	padding: 10px;
	background-color: #fff;
	border-radius: 10px;
}
.d-huodong-gao {
    height: 1000rpx;
    overflow: auto;
}
</style>